#ifndef __FIRST_PERSON_CAMERA_H__
#define __FIRST_PERSON_CAMERA_H__

#include "fwCamera3D.h"

class CameraSimple : public Camera3D
{
protected:
	Vector3 LookAt;			//Current camera's look at vector
	Vector3 Tangent;		//Current camera's tangent vector
	Vector3 Up;				//Current camera's up vector
public:
	CameraSimple();
	~CameraSimple();
	virtual void MoveForward(FWfloat);
	virtual void MoveBackward(FWfloat);
	virtual void MoveLeft(FWfloat);
	virtual void MoveRight(FWfloat);

	virtual void RotateUp(FWfloat);
	virtual void RotateDown(FWfloat);
	virtual void RotateLeft(FWfloat);
	virtual void RotateRight(FWfloat);

	virtual Matrix LocalWorld();
	virtual Matrix View();
};

#endif